#ifndef CBBUILDMGR_H
#define CBBUILDMGR_H

#include "stlstrings.h"
#include "M_Code_project.h"
#include "M_Code_workspace.h"
#include "cbbuildcfg.h"

class TiXmlElement;

class CCodeBlocksBuildManager {
  private:
    CCodeBlocksWorkspace M_Code_Workspace;
    CCodeBlocksProject M_Code_Project;
    CCodeBlocksBuildConfig m_Config;
    bool m_ProjectLoaded;
    bool m_WorkspaceLoaded;
  protected:
  public:
    CPlatformSet& Platforms( void ) {
      return m_Config.Platforms();
    }
    CToolChainSet& ToolChains( void ) {
      return m_Config.ToolChains();
    }
    CCodeBlocksBuildConfig& Config( void ) {
      return m_Config;
    }
    void Clear( void );
    bool LoadProjectOrWorkspace( const CString& FileName );
    void Show( void );
    void GenerateMakefile( const CString& FileName );
  public:
    CCodeBlocksBuildManager( void );
    ~CCodeBlocksBuildManager( void );
};

#endif
//------------------------------------------------------------------------------
